package lastcontrnt.memoryleak;

/**
 * 随意定义大对象作用域，变量不合理的作用域
 */
public class Leak5 {

    //1G
    byte[] bytes;

    private void fun1(){
        //不使用bytes的业务
    }

    private void fun2(){
        for(byte b : bytes){
            b = 1;
        }
        //业务代码
    }

    public static void main(String[] args) {
        Leak5 leak5 = new Leak5();
        leak5.bytes= new byte[1024*1024*1024];

        //将bytes定义在fun1()内 或者这bytes使用完成之后 编写bytes=null;否则在执行业务代码fun2时大空间还没有释放。
        leak5.fun1();
        leak5.fun2();

    }

}
